package com.program.facesigninsystem.util;

import com.program.facesigninsystem.entity.SignInLink;
import net.sf.json.JSONObject;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * @author 盛旭雯
 */
public class PageUtil {
    public static JSONObject wrap(List<JSONObject> data,String title,int pageSize,int pageNum){
        PageBean<Map<String, Object>> pb = new PageBean<>();
        //集合的长度就是行数（记录总数）
        int total = data.size();
        //分页封装类，添加属性记录总数
        pb.setTr(total);
        //添加属性每页记录数
        pb.setPs(pageSize);
        //添加属性当前页码
        pb.setPc(pageNum);
        //当前list
        List<Map<String, Object>> nowList = new ArrayList<>();
        for (int i = (pageNum - 1) * pageSize; i < pageNum * pageSize; i++) {
            //每行ps个记录数，i最大只能循环ps次，当i+1大于数组的长度时，说明数组已经到头
            if (i < data.size()) {
                //你要执行的内容
                nowList.add(data.get(i));
            } else {
                break;
            }
        }
        //将获取到的该页数据放入pb中
        pb.setBeanList(nowList);
        JSONObject data1 = new JSONObject();
        data1.put(title, nowList);
        data1.put("message", "获取成功");
        data1.put("code", 200);
        data1.put("pageNum", pb.getPc());
        data1.put("pageSize", pb.getPs());
        data1.put("total", total);
        return data1;
    }

    public static JSONObject wrap2(List<Map<String,Object>> data,String title,int pageSize,int pageNum){
        PageBean<Map<String,Object>> pb = new PageBean<>();
        int total = data.size();
        pb.setTr(total);
        pb.setPs(pageSize);
        pb.setPc(pageNum);
        List<Map<String,Object>> nowList = new ArrayList<>();
        for(int i = (pageNum-1)*pageSize;i<pageNum*pageSize;i++){
            //每行ps个记录数，i最大只能循环ps次，当i+1大于数组的长度时，说明数组已经到头
            if(i<data.size()){
                nowList.add(data.get(i));
            }else {
                break;
            }
        }
        pb.setBeanList(nowList);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put(title,nowList);
        jsonObject.put("pageNum",pb.getPc());
        jsonObject.put("pageSize",pb.getPs());
        jsonObject.put("total",total);
        return jsonObject;
    }

    public static JSONObject wrap3(List<SignInLink> data, String title, int pageSize, int pageNum){
        PageBean<SignInLink> pb = new PageBean<>();
        int total = data.size();
        pb.setTr(total);
        pb.setPs(pageSize);
        pb.setPc(pageNum);
        List<SignInLink> nowList = new ArrayList<>();
        for(int i = (pageNum-1)*pageSize;i<pageNum*pageSize;i++){
            //每行ps个记录数，i最大只能循环ps次，当i+1大于数组的长度时，说明数组已经到头
            if(i<data.size()){
                nowList.add(data.get(i));
            }else {
                break;
            }
        }
        pb.setBeanList(nowList);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put(title,nowList);
        jsonObject.put("pageNum",pb.getPc());
        jsonObject.put("pageSize",pb.getPs());
        jsonObject.put("total",total);
        return jsonObject;
    }

}
